8005ba30 : 8FA60018  LW      00000000 (a2), 0018 (000085a8 (sp)) [000085c0]
8005ba34 : 3C0F8007  LUI     00000001 (t7), 8007 (32775),
8005ba38 : 25EF13D0  ADDIU   80070000 (t7), 80070000 (t7), 13d0 (5072),
8005ba3c : 00067080  SLL     0000000a (t6), 00000001 (a2), 02 (2),
8005ba40 : 01CF3821  ADDU    0000003f (a3), 00000004 (t6), 800713d0 (t7),
8005ba44 : 8CF80000  LW      00000000 (t8), 0000 (800713d4 (a3)) [800713d4]
8005ba48 : 10400026  BEQ     00000000 (v0), 00000000 (r0), 8005bae4,


===> REMOVE THIS - blanks out useful sio data (justifier latch detection)
8005ba4c : A3020000  SB      00000000 (v0), 0000 (8006c7b3 (t8)) [8006c7b3]








player 1 (fixed)
8006c759 = justifier ID
8006c75d = justifier latch
8006c75e = justifier y
8006c760 = justifier x

player 2 (fixed)
8006c7af = justifier ID
8006c7b3 = justifier latch
8006c7b4 = justifier y
8006c7b6 = justifier x



80018c08 : 27BDFFE8  ADDIU   80070774 (sp), 80070774 (sp), ffe8 (65512),
80018c0c : AFBF0014  SW      8005cd7c (ra), 0014 (8007075c (sp)) [80070770]
80018c10 : 0C00D7FD  JAL     80035ff4, 8005cd7c (ra),
80018c14 : AFB00010  SW      80070844 (s0), 0010 (8007075c (sp)) [8007076c]

80018c18 : 0C00D815  JAL     80036054, 80018c18 (ra),
80018c1c : 3050FFFF  ANDI    80070844 (s0), 00000000 (v0), ffff (65535),







; gp = player address

; NOTE: tries to latch either gun (if dual guns as player #1)

===> remap ID
80035ff4 : 8F8406C4  LW      00000001 (a0), 06c4 (8006b8e4 (gp)) [8006bfa8]
80035ff8 : 00000000  NOP    
===>
80035ffc : 94830000  LHU     1f801070 (v1), 0000 (8006c758 (a0)) [8006c758]
80036000 : 34023100  ORI     80018c08 (v0), 00000000 (r0), 3100 (12544),
80036004 : 14620005  BNE     00003100 (v1), 00003100 (v0), 8003601c,
80036008 : 00000000  NOP    
8003600c : 90820005  LBU     00003100 (v0), 0005 (8006c758 (a0)) [8006c75d]
80036010 : 00000000  NOP    
80036014 : 1440000C  BNE     00000000 (v0), 00000000 (r0), 80036048,
80036018 : 00000000  NOP    
8003601c : 3C048007  LUI     8006c758 (a0), 8007 (32775),
80036020 : 8C84BFAC  LW      80070000 (a0), bfac (80070000 (a0)) [8006bfac]
80036024 : 00000000  NOP    
80036028 : 94830000  LHU     00003100 (v1), 0000 (8006c7ae (a0)) [8006c7ae]
8003602c : 34023100  ORI     00000000 (v0), 00000000 (r0), 3100 (12544),
80036030 : 14620006  BNE     0000ffff (v1), 00003100 (v0), 8003604c,
80036034 : 00001021  ADDU    00003100 (v0), 00000000 (r0), 00000000 (r0),
8003604c : 03E00008  JR      80018c18 (ra),
80036050 : 00000000  NOP    





; - 6c238 = player # (0/1)
80018cbc : 8F830074  LW      0000ffff (v1), 0074 (8006b8e4 (gp)) [8006b958]
80018cc0 : 00000000  NOP    
80018cc4 : 10600005  BEQ     00000001 (v1), 00000000 (r0), 80018cdc,
80018cc8 : 34020001  ORI     00003100 (v0), 00000000 (r0), 0001 (1),
80018ccc : 10620009  BEQ     00000001 (v1), 00000001 (v0), 80018cf4,
80018cd0 : 00002021  ADDU    00000000 (a0), 00000000 (r0), 00000000 (r0),




; x conversion (div 2.5) (div 2)
; - ((x / 2.5) / 2) - ()

800176f0 : 8C23C360  LW      00000000 (v1), c360 (80070000 (at)) [8006c360]
800176f4 : 00000000  NOP    

; LE1 - skip all this math (in-game)
--->
800176f8 : 00621823  SUBU    0000012c (v1), 0000012c (v1), 00000398 (v0),
800176fc : 3C026666  LUI     00000398 (v0), 6666 (26214),
80017700 : 34426667  ORI     66660000 (v0), 66660000 (v0), 6667 (26215),
80017704 : 00620018  MULT    fffffd94 (v1), 66666667 (v0),
80017708 : 00005010  MFHI    000000a0 (t2), ffffff07 (hi),
8001770c : 000A1043  SRA     66666667 (v0), ffffff07 (t2), 01 (1),
80017710 : 00031FC3  SRA     fffffd94 (v1), fffffd94 (v1), 1f (31),
80017714 : 00431023  SUBU    ffffff83 (v0), ffffff83 (v0), ffffffff (v1),
80017718 : 244200A0  ADDIU   ffffff84 (v0), ffffff84 (v0), 00a0 (160),
--->
8001771c : A4A20014  SH      00000024 (v0), 0014 (80078350 (a1)) [80078364]



; NOTE: default y-cursor is way off (!)
; - should be ~$78 (center) for p2 (6b936), not $00b4 / $00b4

8001778c : 9422C378  LHU     00000000 (v0), c378 (80070000 (at)) [8006c378]
80017790 : 3C018007  LUI     80070000 (at), 8007 (32775),
80017794 : 00230821  ADDU    80070000 (at), 80070000 (at), 00000000 (v1),
80017798 : 9423B934  LHU     00000000 (v1), b934 (80070000 (at)) [8006b934]
8001779c : 00000000  NOP
; y-math (in-game) + calibration math
800177a0 : 00431023  SUBU    000000ca (v0), 000000ca (v0), 000000b4 (v1),
800177a4 : 24420078  ADDIU   00000016 (v0), 00000016 (v0), 0078 (120),
800177a8 : A4820016  SH      0000008e (v0), 0016 (80078350 (a0)) [80078366]






8001a86c : 8C63C360  LW      80070000 (v1), c360 (80070000 (v1)) [8006c360]
8001a870 : 00000000  NOP    

; LE1 - skip all this math (calibration p1)
--->
8001a874 : 00621823  SUBU    000000ca (v1), 000000ca (v1), 00000107 (v0),
8001a878 : 00730018  MULT    ffffffc3 (v1), 66666667 (s3),
8001a87c : 00004010  MFHI    00000800 (t0), ffffffe7 (hi),
8001a880 : 00081043  SRA     00000107 (v0), ffffffe7 (t0), 01 (1),
8001a884 : 00031FC3  SRA     ffffffc3 (v1), ffffffc3 (v1), 1f (31),
8001a888 : 00431023  SUBU    fffffff3 (v0), fffffff3 (v0), ffffffff (v1),
8001a88c : 244200A0  ADDIU   fffffff4 (v0), fffffff4 (v0), 00a0 (160),
--->
8001a890 : A7A20028  SH      00000094 (v0), 0028 (801ff6a8 (sp)) [801ff6d0]





8001aa28 : 8C63C36C  LW      80070000 (v1), c36c (80070000 (v1)) [8006c36c]
8001aa2c : 00000000  NOP    

; LE1 - skip all this math (calibration p2)
--->
8001aa30 : 00621823  SUBU    000000a0 (v1), 000000a0 (v1), 000000a0 (v0),
8001aa34 : 00730018  MULT    00000000 (v1), 66666667 (s3),
8001aa38 : 00004010  MFHI    00000800 (t0), 00000000 (hi),
8001aa3c : 00081043  SRA     000000a0 (v0), 00000000 (t0), 01 (1),
8001aa40 : 00031FC3  SRA     00000000 (v1), 00000000 (v1), 1f (31),
8001aa44 : 00431023  SUBU    00000000 (v0), 00000000 (v0), 00000000 (v1),
8001aa48 : 244200A0  ADDIU   00000000 (v0), 00000000 (v0), 00a0 (160),
--->
8001aa4c : A7A2005C  SH      000000a0 (v0), 005c (801ff618 (sp)) [801ff674]
